negotiator.boaframework.opponentmodel
Class AgentXFrequencyModel

java.lang.Object
  extended by negotiator.boaframework.OpponentModel
      extended by negotiator.boaframework.opponentmodel.AgentXFrequencyModel

public class AgentXFrequencyModel
extends OpponentModel

Class for building an opponent model in discrete space. Contains value- and issue-processors to deal with opponent bids. Adapted by Mark Hendrikx to be compatible with the BOA framework. Tim Baarslag, Koen Hindriks, Mark Hendrikx, Alex Dirkzwager and Catholijn M. Jonker. Decoupling Negotiating Agents to Explore the Space of Negotiation Strategies

Author:
E. Jacobs, Mark Hendrikx

Field Summary
 
Fields inherited from class negotiator.boaframework.OpponentModel
negotiationSession, opponentUtilitySpace
 
Constructor Summary
AgentXFrequencyModel()
           
 
Method Summary
 double getBidEvaluation(Bid bid)
          Calculates the utility to our opponent of the bid received as a parameter using the current knowledge given by our opponent model
 double getEvaluationOfValue(int issueIndex, ValueDiscrete valueOfIssue)
          Gives the normalized value rank of some value within a certain Issue
 negotiator.boaframework.opponentmodel.agentx.DiscreteIssueProcessor getIssueProcessor()
          Gives the discreteIssueProcessor for this opponent model
 java.lang.String getName()
           
 UtilitySpace getOpponentUtilitySpace()
           
 negotiator.boaframework.opponentmodel.agentx.DiscreteValueProcessor getValueProcessor(IssueDiscrete i)
          Returns a DiscreteValueProcessor, allowing the use of several methods
 double getWeight(Issue issue)
          Returns the weight of a particular issue in the domain.
 void init(NegotiationSession negotiationSession, java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          Creates an opponent model for the given utility space
 void updateModel(Bid b, double time)
          Processes a bid, possibly changing value ranks for the internal opponent model.
 
Methods inherited from class negotiator.boaframework.OpponentModel
cleanUp, endSession, getIssueWeights, init, isCleared, loadData, setOpponentUtilitySpace, setOpponentUtilitySpace, storeData, updateModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AgentXFrequencyModel

public AgentXFrequencyModel()
Method Detail

init

public void init(NegotiationSession negotiationSession,
                 java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          throws java.lang.Exception
Creates an opponent model for the given utility space

Overrides:
init in class OpponentModel
Parameters:
u - The utility space
Throws:
java.lang.Exception

getValueProcessor

public negotiator.boaframework.opponentmodel.agentx.DiscreteValueProcessor getValueProcessor(IssueDiscrete i)
Returns a DiscreteValueProcessor, allowing the use of several methods

Parameters:
i - The issue for which a ValueProcessor is needed
Returns:
a DiscreteValueProcessor for the issue

getIssueProcessor

public negotiator.boaframework.opponentmodel.agentx.DiscreteIssueProcessor getIssueProcessor()
Gives the discreteIssueProcessor for this opponent model

Returns:
The discreteIssueProcessor

updateModel

public void updateModel(Bid b,
                        double time)
Processes a bid, possibly changing value ranks for the internal opponent model. Currently, values on which more bids are made are ranked higher.

Specified by:
updateModel in class OpponentModel
Parameters:
b - The bid done by the opponent
time - Time at which the bid was done

getEvaluationOfValue

public double getEvaluationOfValue(int issueIndex,
                                   ValueDiscrete valueOfIssue)
Gives the normalized value rank of some value within a certain Issue

Parameters:
issueIndex - The index of the issue. Same index as in the ArrayList provided by utilitySpace.getDomain().getIssues()
valueOfIssue - The value from that issue for which the normalized rank is required
Returns:
The normalized valueRank for the value of the issue given

getBidEvaluation

public double getBidEvaluation(Bid bid)
Calculates the utility to our opponent of the bid received as a parameter using the current knowledge given by our opponent model

Overrides:
getBidEvaluation in class OpponentModel
Parameters:
bid -
Returns:
utility value for our opponent

getWeight

public double getWeight(Issue issue)
Description copied from class: OpponentModel
Returns the weight of a particular issue in the domain.

Overrides:
getWeight in class OpponentModel
Parameters:
issue - from which the weight should be returned
Returns:
the weight of the issue.

getOpponentUtilitySpace

public UtilitySpace getOpponentUtilitySpace()
Overrides:
getOpponentUtilitySpace in class OpponentModel
Returns:
utilityspace created by using the opponent model adapter.

getName

public java.lang.String getName()
Overrides:
getName in class OpponentModel
Returns:
name of the opponent model.